This invention relates generally to the field of data networks, and in particular to the enhancement of such networks to handle real time information.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawing hereto: Copyright (copyright)1998, Nortel Corporation, All Rights Reserved.
Many computers and other electronic devices today are coupled by local area networks (LANs). Many LANs are designed to transfer data between the electronic devices which are coupled to the network. Each electronic device coupled to the network is referred to as a node on the network. The node implements a communication protocol which is consistent with the other nodes, and defines how data is exchanged, including when data can be exchanged.
One protocol in use in millions of local area networks is referred to as shared Ethernet. It is defined in an IEEE 802.3 standard. The typical implementation of the standard on each node uses a protocol which is based on a carrier sense multiple access/collision detect (CSMA/CD) standard. This means that each node or station on a shared Ethernet segment listens for other traffic before attempting to transmit. If the network is busy, then the node will wait until it is quiet and then it will begin to transmit its own data in the form of packets. Sometimes, two nodes attempt to transmit data at the same time, since neither detected traffic on the network. This results in a collision, which both nodes then detect, and stop transmitting. Following a collision, each node will wait a random amount of time prior to attempting to transmit again. This usually prevents a second collision between the same two nodes. The amount of data that can be transferred in a given time is referred to as bandwidth of the network. If many collisions occur, the effective bandwidth can be reduced.
Millions of shared Ethernet LANs are in existence today. The Ethernet protocol works very well for the transfer of non-real time traffic, since with such traffic, there is no absolute need for data to arrive at a destination at any guaranteed time. However, with the advent of voice communications, there is a need to ensure that traffic arrive in sufficient time to be reconstructed into audio signals in real time. With voice over internet protocol (VoIP) real time conversations take place over an internet connection. Where one person is using a computer which is a node in a shared Ethernet network, with the internet connection provided by another node, voice packets need to comply with the network protocol, yet it is also important that they arrive in time to be reconstructed. There is also a need to handle other forms of real time data, such as video and application critical data in similar networks.
A node on a collision detection protocol based network forces collisions to gain control of the network when it has real time data that needs to be transferred to another node on the network, and then begins transmitting the real time data prior to other nodes gaining control of the network.
In one embodiment, a node which has real time data to transfer implements an enhanced protocol which keeps track of a maximum wait time parameter to determine when the real time data must be transferred to ensure it arrives at a destination on time. As the maximum wait time is approached, the node forces a collision by transmitting, even though it senses another node is already transmitting, to force the network into a quiet mode. It then starts transmitting the real time data prior to other nodes beginning transmission. This ensures that the real time data will be successfully transferred prior to expiration of the maximum wait time.
In a further embodiment, a second node is connected to a wide area network to further transmit the real time data received from the first node to an intended recipient. The second node is also coupled to the local network and implements the same protocol as the first node to transfer real time data to the first node on time. These two nodes, implementing the enhanced protocol, allow timely transmission of real time data such as audio.
In yet a further embodiment, the enhanced protocol is an enhancement to shared Ethernet which is compliant with IEEE 802.3 as it existed at the time of filing of this application. In still a further embodiment, all other nodes on the network have collision detection timer boundary values set such that the nodes implementing the enhanced protocol can be guaranteed to have shorter time periods for retransmission, thus guaranteeing that the enhanced nodes begin and possibly complete their transactions before the other node(s) return from a quiet state.